package ec.linde.persistencia.entidades;

// Generated 07-ago-2014 12:54:27 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * ProdEmpleados generated by hbm2java
 */
@Entity
@Table(name = "prod_empleados", schema = "productividad")
public class ProdEmpleados implements java.io.Serializable {

	private int emplId;
	private ProdConfigBasPresupues prodConfigBasPresupues;
	private String emplDescripcion;
	private String emplExterno;
	private double emplSalarioMensual;
	private double emplFsr;
	private double emplCostoDiario;
	private double emplHora;
	private Set<ProdConceptosPersonal> prodConceptosPersonals = new HashSet<ProdConceptosPersonal>(
			0);

	public ProdEmpleados() {
	}

	public ProdEmpleados(int emplId, String emplDescripcion,
			String emplExterno, double emplSalarioMensual, double emplFsr,
			double emplCostoDiario, double emplHora) {
		this.emplId = emplId;
		this.emplDescripcion = emplDescripcion;
		this.emplExterno = emplExterno;
		this.emplSalarioMensual = emplSalarioMensual;
		this.emplFsr = emplFsr;
		this.emplCostoDiario = emplCostoDiario;
		this.emplHora = emplHora;
	}

	public ProdEmpleados(int emplId,
			ProdConfigBasPresupues prodConfigBasPresupues,
			String emplDescripcion, String emplExterno,
			double emplSalarioMensual, double emplFsr, double emplCostoDiario,
			double emplHora, Set<ProdConceptosPersonal> prodConceptosPersonals) {
		this.emplId = emplId;
		this.prodConfigBasPresupues = prodConfigBasPresupues;
		this.emplDescripcion = emplDescripcion;
		this.emplExterno = emplExterno;
		this.emplSalarioMensual = emplSalarioMensual;
		this.emplFsr = emplFsr;
		this.emplCostoDiario = emplCostoDiario;
		this.emplHora = emplHora;
		this.prodConceptosPersonals = prodConceptosPersonals;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "empl_id", unique = true, nullable = false)
	public int getEmplId() {
		return this.emplId;
	}

	public void setEmplId(int emplId) {
		this.emplId = emplId;
	}

	@ManyToOne//(fetch = FetchType.LAZY)
	@JoinColumn(name = "bapr_id")
	public ProdConfigBasPresupues getProdConfigBasPresupues() {
		return this.prodConfigBasPresupues;
	}

	public void setProdConfigBasPresupues(
			ProdConfigBasPresupues prodConfigBasPresupues) {
		this.prodConfigBasPresupues = prodConfigBasPresupues;
	}

	@Column(name = "empl_descripcion", nullable = false)
	public String getEmplDescripcion() {
		return this.emplDescripcion;
	}

	public void setEmplDescripcion(String emplDescripcion) {
		this.emplDescripcion = emplDescripcion;
	}

	@Column(name = "empl_externo", nullable = false)
	public String getEmplExterno() {
		return this.emplExterno;
	}

	public void setEmplExterno(String emplExterno) {
		this.emplExterno = emplExterno;
	}

	@Column(name = "empl_salario_mensual", nullable = false, precision = 17, scale = 17)
	public double getEmplSalarioMensual() {
		return this.emplSalarioMensual;
	}

	public void setEmplSalarioMensual(double emplSalarioMensual) {
		this.emplSalarioMensual = emplSalarioMensual;
	}

	@Column(name = "empl_fsr", nullable = false, precision = 17, scale = 17)
	public double getEmplFsr() {
		return this.emplFsr;
	}

	public void setEmplFsr(double emplFsr) {
		this.emplFsr = emplFsr;
	}

	@Column(name = "empl_costo_diario", nullable = false, precision = 17, scale = 17)
	public double getEmplCostoDiario() {
		return this.emplCostoDiario;
	}

	public void setEmplCostoDiario(double emplCostoDiario) {
		this.emplCostoDiario = emplCostoDiario;
	}

	@Column(name = "empl_hora", nullable = false, precision = 17, scale = 17)
	public double getEmplHora() {
		return this.emplHora;
	}

	public void setEmplHora(double emplHora) {
		this.emplHora = emplHora;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "prodEmpleados")
	public Set<ProdConceptosPersonal> getProdConceptosPersonals() {
		return this.prodConceptosPersonals;
	}

	public void setProdConceptosPersonals(
			Set<ProdConceptosPersonal> prodConceptosPersonals) {
		this.prodConceptosPersonals = prodConceptosPersonals;
	}

}
